package com.itheima.aimobile.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import lombok.Data; // 需引入 Lombok 依赖（可选，用于简化 getter/setter）
import org.springframework.ai.tool.annotation.ToolParam;

/**
 * 手机套餐实体类，与数据库表 mobile 映射
 */
@Data // Lombok 注解：自动生成 getter/setter/toString 等方法
@TableName("mobile") // 指定对应数据库表名（若类名与表名一致可省略）
public class Mobile {

    /**
     * 套餐ID（自增主键）
     */
    @TableId(type = IdType.AUTO) // 主键策略：自增（与表中 id 字段的 AUTO_INCREMENT 对应）
    private Integer id;

    /**
     * 套餐名称（如“经济卡”“学生青春卡”）
     */
    @ToolParam(required = false,description = "套餐名称")
    private String packageName; // 对应表中 package_name 字段（驼峰命名自动映射）

    /**
     * 月费（保留两位小数，如 39.00、99.00）
     */
    @ToolParam(required = false,description = "月费")
    private BigDecimal monthlyFee; // 对应表中 monthly_fee 字段（数值类型用 BigDecimal 避免精度丢失）

    /**
     * 流量描述（如“10GB”“不限量”）
     */
    @ToolParam(required = false,description = "流量描述")
    private String traffic; // 对应表中 traffic 字段（文本类型用 String）
 }